There exist today many styles of input devices for performing operations in a computer system. The operations generally correspond to moving a cursor and/or making selections on a display screen. By way of example, the input devices may include buttons or keys, mice, trackballs, touch pads, joy sticks, touch screens and the like. Touch pads and touch screens (collectively “touch surfaces”) are becoming increasingly popular because of their ease and versatility of operation and their declining price. Touch surfaces allow a user to make selections and move a cursor by simply touching the surface, which may be a pad or the display screen, with a finger, stylus, or the like. In general, the touch surface recognizes the touch and position of the touch and the computer system interprets the touch and thereafter performs an action based on the touch.
Touch screens are of particular interest. Various types of touch screens are described in U.S. patent application Ser. No. 10/840,862, filed May 6, 2004, which is hereby incorporated by reference in its entirety. A touch screen 4 is generally a clear panel with a touch sensitive surface. As shown in FIG. 1, a multi-point capable touch screen 4 generally comprises an array of pixels 83, defined by the intersection of rows 81 and column 82. Specifically, at each pixel 83, a capacitance exists, Csig, which is the capacitance between its associated row and column. As is well known, a touch event in the vicinity of a given pixel 83 will change its capacitance, Csig. A touch surface controller 400 detects the capacitance of each of the pixels 82 in the screen 4, and thus includes detection circuitry 87 for this purpose. Once the capacitances are detected, the capacitance values are typically latched (88) for each column 82 on a row-by-row basis, and then are exported to a system microprocessor 90, e.g., the main microprocessor in the computer (not shown) to which the touch screen 4 is attached. At the system microprocessor 90, the capacitance values for each pixel (e.g., C1 . . . C16 in the simple example shown) are assessed to discern the location of a touch.
There are several types of touch screen technologies including resistive, capacitive, infrared, surface acoustic wave, electromagnetic, near field imaging, etc. Each of these devices has advantages and disadvantages that are considered when designing or configuring a touch screen. One problem found in these prior art technologies is that they are only capable of reporting a single point even when multiple objects are placed on the sensing surface. That is, they lack the ability to track multiple points of contact simultaneously. In resistive and traditional capacitive technologies, an average of all simultaneously occurring touch points are determined and a single point which falls somewhere between the touch points is reported. In surface wave and infrared technologies, it is impossible to discern the exact position of multiple touch points that fall on the same horizontal or vertical lines due to masking. In either case, faulty results are generated.
These problems are particularly problematic in handheld devices, such as tablet PCs, where one hand is used to hold the tablet and the other is used to generate touch events. For example, as shown in FIGS. 2A and 2B, holding a tablet causes the thumb 3 to overlap the edge of the touch screen 4. If the touch technology uses averaging, the technique used by resistive and capacitive panels, then a single point 2 that falls somewhere between the thumb 3 of the left hand and the index finger 6 of the right hand would be reported. As shown in FIG. 2B, if the technology uses projection scanning, the technique used by infrared and surface acoustic wave panels, it is hard to discern the exact vertical position of the index finger 6 due to the large vertical component of the thumb 3. In essence, the thumb 3 masks out the vertical position of the index finger 6.
Solutions to this problem of accurately detecting multiple touches are provided in U.S. patent application Ser. No. 11/381,313 (the '313 application), filed May 2, 2006, which is incorporated herein by reference in its entirety. The '313 application discloses a controller for multi-touch surfaces, and figures taken from that application are shown here in FIGS. 3A and 3B. Because familiarity with the '313 application is assumed, the circuitry of FIGS. 3A and 3B is only briefly explained.
A charge amplifier 401 is used in the input stage of the touch surface controller 400 of the '313 application, which for the most part can be implemented in an Application Specific Integrated Circuit (ASIC). Essentially, the charge amplifier 401 is used to measure the charge of the capacitance Csig one of the pixels 83 of the touch screen 4. Essentially, and as one skilled in the art will realize, the charge amplifier 401 of FIG. 2A comprises integration circuitry.
As shown in FIG. 3B, the output of charge amplifier 401 passes to a demodulator 403. The purpose of demodulator 403 is to reject out-of-band noise sources (from cell phones, microwave ovens, etc.) that are present on the signal entering controller 400. The output of the charge amplifier 401 is mixed with a quantized waveform that is stored in a lookup table 404. More specifically, the shape, amplitude, and frequency of the demodulation waveform are determined by coefficients in the lookup table 404. The demodulation waveform determines pass band, stop band, stop band ripple and other characteristics of the subtractor 402. In a preferred embodiment, a Gaussian shaped sine wave is used as the demodulation waveform, which provides a sharp pass band with reduced stop band ripple.
Another aspect of demodulator 403 relates to demodulator phase delay adjustment. As can be seen with reference to FIGS. 1, 3A, and 3B, the pixels of the touch screen 4 are accompanied by parasitic capacitances, shown as Cstray 460, which would generally be associated with each column 82 in the array. (Parasitic resistance would also be present, but are ignored here for simplicity). Accordingly, the touch screen 4 will impose a phase delay on the stimulus waveform, Vstim passing through it, which stimulus waveform can come from stimulation circuitry 85. This stimulation circuitry 85 can comprise part of the controller 400, or can come from another independent drive source. This phase delay is negligible for traditional opaque touch panels in which the electrode structure is typically formed by PCB traces having negligible resistance. However, for transparent panels, typically constructed using Indium Tin Oxide (ITO) conductive traces, the associated phase delay may be quite large. To compensate for this phase delay, the demodulation waveform is delayed relative to the signal entering the charge amplifier 401 and ultimately the demodulator 403. Again, each pixel 83 of the touch surface may have its own uniquely determined delay parameter, or the delay parameter may be determined on a row-by-row basis.
The demodulated signal is then passed to offset compensation circuitry comprising a subtractor 402 and a programmable offset Digital-to-Analog Converter (DAC) 405. The compensation circuitry is necessary because the pixel capacitance is comprised of a static part (a function of sensor construction, including Cstray) and a dynamic part (resulting from a touch, such as would vary Csig), and it is desirable to remove the static prior to analog to digital conversion in order to increase the dynamic range of the measurement. Therefore, subtractor 402 takes the output of the demodulator 403 and subtracts an offset voltage. Specifically, offset DAC 405 generates a programmable offset voltage from a digital static offset value, Voff_reg. This digital value is converted into a static analog voltage (or current, if operating in the current domain) by the DAC 405 and then mixed (by multiplier 403b) with a voltage (or current) set by the absolute value (block 404b) of the demodulation waveform. The result is a rectified version of the demodulation waveform, the amplitude of which is set by the static value of Voff_reg and the absolute portion of the demodulation waveform currently retrieved from the demodulator lookup table 404. In short, the offset compensation waveform effectively tracks the demodulation waveform.
The demodulated, offset compensated signal is then processed by a programmable gain Analog-to-Digital (ADC) 406. ADC 406 may comprise a sigma-delta circuit, although this is not strictly necessary. The ADC 406 performs two functions: (1) it converts the offset compensated waveform out of the mixer arrangement (offset and signal mixer) to a digital value; and (2) it performs a low pass filtering function, i.e., it averages the rectified signal coming out of the subtractor 402. The offset compensated, demodulated signal comprises a rectified Gaussian shaped sine wave, whose amplitude is a function of Cfb and Csig. The ADC 406 output, X, comprises the average of that signal, and ultimately comprises a digital representation of Csig. This digital signal X is sent from the controller 400 to a microprocessor in the computer system (not shown), which interprets the signal to arrive at a conclusion of the location of the touch (or touches).
Some products are able to detect multiple touch points, such as the Fingerworks series of touch pad products. Moreover, numerous examples of multiple touch events being used to control a host device have been disclosed in the literature. See U.S. Pat. Nos. 6,323,846; 6,888,536; 6,677,932; 6,570,557, and U.S. patent application Ser. Nos. 11/015,434; 10/903,964; 11/048,264; 11/038,590; 11/228,758; 11/228,700; 11/228,737; 11/367,749, each of which is hereby incorporated by reference in their entireties. Unfortunately, these products generally only work on opaque surfaces because of the circuitry that must be placed behind the electrode structure. Moreover, historically, the number of touches detectable with such technology has been limited by the size of the detection circuitry.
While the approach of the '313 application (FIGS. 3A and 3B) certainly alleviates these problems to a degree, it still is the case that the analog-based nature of the detection circuitry employed in that application can be difficult or costly to implement. First, the detection circuitry of FIGS. 3A and 3B, being largely analog in nature, takes up significant space on the controller 400. Second, the manner of detection employed by the circuitry is complicated, requiring amplification, demodulation, offset, and delta-sigma conversion, which in total is space- and power-intensive on the controller 400. In short, the detection method employed by the '313 application, while effective in providing an indicia of Csig for each pixel to the microcontroller in the computer system (not shown), is not efficient. Improvements in such a touch surface controller, therefore, would be beneficial.
Corresponding reference characters indicate corresponding components throughout the several views of the drawings.